Developer --> Technical Publications
PATH Hardware Documentation > Device Managers and Drivers > ATA Devices > ATA Device Software Guide


ATA_QRelease

The ATA_QRelease function releases the frozen I/O queue of the selected device.

When the ATA Manager detects an I/O error and the QLockOnError bit of the parameter block is set for the request, the ATA Manager freezes the queue for the selected device. No pending or new requests are processed or receive status until the queue is released through the ATA_QRelease function. Only those requests with the Immediate bit set in the ATAFlags field of the ataPBHdr parameter block are processed. Consequently, for the ATA I/O queue release command to be processed, it must be issued with the Immediate bit set in the parameter block. An ATA I/O queue release command issued while the queue isn't frozen returns the noErr status.

The manager function code for the ATA_QRelease function is $04.

The parameter block associated with this function is defined below:

struct        ataQRelease    /* ATA QRelease structure */
{
    ataPBHdr                  /* ataPBHdr parameter block */
    UInt16      Reserved[24];
}   ataQRelease;

Field descriptions

ataPBHdr
See the definition of the ataPBHdr structure.
Reserved[24]
Reserved. All reserved fields should be set to 0.
RESULT CODES

See Table A-1 for possible result codes returned by the ATA Manager.


© 1999 Apple Computer, Inc. — (Last Updated 30 Oct 97)

Previous | Back Up One Level | Next | Show Frames | Hide Frames